//
//  7_整数反转.swift
//  Swift-LeetCode
//
//  Created by 卢悦明 on 2024/3/15.
/**
 https://leetcode.cn/problems/reverse-integer/description/
 给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。

 如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ，就返回 0。

 假设环境不允许存储 64 位整数（有符号或无符号）。
  
 示例 1：

 输入：x = 123
 输出：321
 示例 2：

 输入：x = -123
 输出：-321
 示例 3：

 输入：x = 120
 输出：21
 示例 4：

 输入：x = 0
 输出：0

 */

import UIKit

class ReverseNumber: NSObject {
    func reverse(_ x: Int) -> Int {
        var result = 0
        var x = x
        while x != 0 {
            result = result * 10 + x % 10
            if result < Int32.min || result > Int32.max { return 0 }
            x = x/10
        }
        return result
    }
}
